package com.oplink.webems.common.snmp.entity;

import java.util.HashMap;
import java.util.Map;

public class Dcp2Card extends Card {

	public static int CARDTYPE = 3;
	public static final String NAME = "DCP2";
	
	public final static Map<String, String> nameAndOid = new HashMap<String, String>(){
		public static final String CardType            = "CardType"           ;
		public static final String HardwareRev         = "HardwareRev"        ;
		public static final String FirmwareRev         = "FirmwareRev"        ;
		public static final String SerialNum           = "SerialNum"          ;
		public static final String PCode               = "PCode"              ;
		public static final String MfgDate             = "MfgDate"            ;
		public static final String CalDate             = "CalDate"            ;
		public static final String VendorID            = "VendorID"           ;
		public static final String MfgInfo             = "MfgInfo"            ;
		public static final String Reset               = "Reset"              ;
		public static final String WorkingState        = "WorkingState"       ;
		public static final String Mode                = "Mode"               ;
		public static final String Position            = "Position"           ;
		public static final String RvtSetting          = "RvtSetting"         ;
		public static final String WTRTime             = "WTRTime"            ;
		public static final String Hysterisis          = "Hysterisis"         ;
		public static final String SwitchCount         = "SwitchCount"        ;
		public static final String InputPowerRxA       = "InputPowerRxA"      ;
		public static final String InputPowerRxB       = "InputPowerRxB"      ;
		public static final String InputPowerRxC       = "InputPowerRxC"      ;
		public static final String InputPowerRxD       = "InputPowerRxD"      ;
		public static final String InputLosAlarmThrRxA = "InputLosAlarmThrRxA";
		public static final String InputLosAlarmThrRxB = "InputLosAlarmThrRxB";
		public static final String InputLosAlarmThrRxC = "InputLosAlarmThrRxC";
		public static final String InputLosAlarmThrRxD = "InputLosAlarmThrRxD";
		
		private static final long serialVersionUID = 8027650933103265167L;
		{
			put(CardType,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.1");
			put(HardwareRev,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.2");
			put(FirmwareRev,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.4");
			put(SerialNum,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.6");
			put(PCode,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.16");
			put(MfgDate,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.32");
			put(CalDate,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.34");
			put(VendorID,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.36");
			put(MfgInfo,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.40");
			put(Reset,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.137");
			put(WorkingState,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.142");
			put(Mode,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.144");
			put(Position,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.146");
			put(RvtSetting,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.148");
			put(WTRTime,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.150");
			put(Hysterisis,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.162");
			put(SwitchCount,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.166");
			put(InputPowerRxA,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.300");
			put(InputPowerRxB,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.301");
			put(InputPowerRxC,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.303");
			put(InputPowerRxD,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.304");
			put(InputLosAlarmThrRxA,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.310");
			put(InputLosAlarmThrRxB,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.311");
			put(InputLosAlarmThrRxC,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.312");
			put(InputLosAlarmThrRxD,"1.3.6.1.4.1.2011.2.25.100.5.1.3.1.313");
		}
	};
	
	public Dcp2Card(Integer chassis, Integer slot) {
		super(chassis, slot, CARDTYPE);
	}

	@Override
	public String getSuffix() {
		return "."+this.getChassis() + "." + this.getSlot()+".1";
	}
	@Override
	public String getOidByName(String name) {
		return nameAndOid.get(name);
	}
	public String getName(){
		return NAME;
	}
}
